#include <stdio.h>
#include <unistd.h>
#include <stdlib.h>
#include <string.h>

#define FILE_NAME "log.txt" //没有指明路径，文件默认在当前路径生成

int main()
{
  FILE *fp =fopen(FILE_NAME,"w"); //以w打开文件的时候，C语言会清空文件内容
  //文件权限 666 & ~umask
  /*
  FILE *fp =fopen(FILE_NAME,"a");
  if(NULL==fp)
  {
    perror("fopen");
  }

  for(int i=0;i<5;i++)
  {
    fprintf(fp,"%s:%d\n","a用于追加写入操作",i);
  }
  */

  /*
  FILE *fp = fopen(FILE_NAME, "r"); // r(读) w(写) r+(读写,文件不存在就创建) w+(读写，文件不存在就报错) a(append.追加,写入的一种，在文件末尾) a+(读写，末尾写)
  if(NULL == fp)
  {
    perror("fopen");
    return 1;
  }

  char buffer[64];
  while( fgets(buffer,sizeof(buffer)-1,fp) != NULL) //由于字符串末尾都有一个\0,所以要留一个空间用于存储
  {
    //由于puts会默认打印一个换行，所以要去除buffer中的换行
    buffer[strlen(buffer)-1]='\0'; //字符串中最后一位是'\n',将这个符号换为'\0'即可去除换行符号
    puts(buffer);
  } 
  */

  //FILE *fp =fopen(FILE_NAME,"w")
  //int cnt = 5;
  //while(cnt)
  //{
  //  fprintf(fp,"%s:%d\n","hello yzc",cnt--);
  //}

  fclose(fp);
  return 0;
}
